Wireless networks are increasingly employed to provide various communication functions including voice, video, packet data, messaging and the like. A wireless network such as wireless local area networks (WLANs) may include any number of access points (APs) and any number of stations (STAs). An access point may act as a coordinator for communication with the stations. A station may actively communicate with an access point, may be idle, or may be powered down at any given moment depending on the data requirements of the station. Particularly with regard to mobile devices and other devices that are battery powered, minimizing energy consumption is an important aspect in the design of such systems. In particular, the overall power consumption of a typical wireless device includes the energy used by the host processor as well as the various component modules, such as a WLAN module, and the interface used to connect them.
Conventional power saving mechanisms tend to focus on individual elements of the device. For example, the IEEE 802.11 standards controlling WLAN communication provide opportunities for saving power in the WLAN module by placing the transceiver in a low power, or sleep, mode during extended periods of inactivity. However, the device itself often employs a relatively high-powered processor and memory subsystem that consumes a significant portion of the power available to the device. As wireless devices gain capabilities, as exemplified by smart phones, tablets and the like, the relative power consumed by the host processor likewise increases. Further, more power is consumed when higher throughput wireless communication systems are employed, for example, systems employing higher data rates such as those specified by 802.11ac protocols and or systems having multiple data streams in multiple in multiple output (MIMO) architectures.
As such, one area that offers a significant potential for optimizing power efficiency relates to a coordination of power savings modes between the various interconnected functional blocks in a wireless device and the interfaces used to connect them. In most instances, operating one or more aspects of a wireless device in a reduced power mode comes at the expense of reduction in functionality. Accordingly, when desirable to return to normal operation, a period of time is required to reactivate the functional blocks or interfaces in the reduced power mode. This latency is typically proportional to the reduction in power consumed. For example, clock gating has a wake up time on the order of tens of nanoseconds and may be employed to obtain a modest reduction in power as compared to deactivating phase locked loop (PLL) circuits, which represents a greater power savings but requires a wake up time on the order to tens of microseconds. Depending upon the operational state of the wireless device, the functional blocks and interfaces may be permitted to exhibit differing degrees of latency in returning to active mode while maintaining a baseline level of performance.
To that end, techniques have been developed to communicate changing latency tolerances regarding aspects of a wireless device in order to coordinate power saving states. In general, it is desirable to configure and operate the wireless device at the most power efficient settings allowable while still properly executing the necessary functions. By employing a latency tolerance reporting (LTR) function to communicate the current latency requirements of the various aspects of the wireless device required by their operational state, the device may be configured to implement more refined power policy decisions.
One mechanism for implementing LTR involves communication over a bus used to interconnect various aspects of the wireless device. For example, a host processor and memory may be connected to a root complex and communicate through the root complex with one or more endpoints. Current protocols for Peripheral Component Interconnect Express (PCIe) and Universal Serial Bus (USB) interfaces specify methods for communicating LTR information over the interfaces. Thus, the endpoints may communicate changing latency requirements by sending LTR messages over the bus to the root complex. In turn, a power management module, operatively connected to or implemented as part of the root complex, may process the LTR messages and cause the host processor to change power state accordingly. Similarly, the bus interface and the overall state of the wireless device may operate at different power states depending upon the LTR messages.
Conventional LTR techniques in wireless devices have been applied to change latency requirements based upon quasi-static and reactive conditions. For example, relatively defined periods such as network sleep modes coordinated between a station and an access point and entry and exit from chatter mode may be associated with different latency requirements. Examples of reactive triggers for latency changes include buffer over and under runs, in that a resulting error may be used as the trigger for changing latency state. However, despite the power savings that may be achieved by employing LTR techniques in these circumstances, it would be desirable to further reduce power usage in wireless devices.
Accordingly, there has been a need to employ power savings mechanisms that are tailored to characteristics of the activity of the wireless device. In particular, it would be desirable to exploit the patterns of activity associated with WLAN communication resulting from the carrier sense multiple access (CSMA) allocation of access to the wireless medium. Thus, it would be desirable to adjust the latency requirement of a WLAN module in view of the receiving and transmitting parameters being employed. To maximize power efficiency, it would be desirable to adjust the latency requirements with a high degree of granularity, such as on a per frame basis. Further, it would be desirable to optimize power usage of an entire wireless device by adjusting latency tolerance. This specification discloses systems and methods for accomplishing these and other goals.